<?php if ( ! defined("BASEPATH")) exit("No direct script access allowed");

class Forma_pagamento extends CI_Controller {
		
	public function __construct(){
		parent::__construct();
		init_painel();
		esta_logado();
	}

	public function index(){
		$this->gerenciar();
	}
	
	public function cadastrar(){
		$this->form_validation->set_message('is_unique', 'Este %s já está cadastrado no sistema');
		$this->form_validation->set_rules('nome', 'NOME', 'required|is_unique[forma_pagamento.nome]');
		if ($this->form_validation->run()==TRUE):
			$dados['nome'] = $this->input->post('nome', TRUE);
			$dados['created'] = date('Y-m-d H:i:s');
			$this->forma_pagamento->do_insert($dados);
		    set_msg('msgok', 'Cadastro efetuado com sucesso', 'sucesso');
			redirect(current_url());
		endif;
		$data = array(
			'tela' 	=> 'cadastrar'
		);
		set_tema('footerinc', load_js(array('app.min')));
		set_tema('titulo', 'Cadastro de Forma de Pagamento');
		set_tema('conteudo', load_modulo('painel', 'forma_pagamento', $data));
		load_template();
	}

	public function gerenciar(){
		$data = array(
			'tela' => 'gerenciar',
			'query' => $this->forma_pagamento->get_all()->result()
		);
		set_tema('headerinc', load_css(array('datatables/dataTables.foundation.min')));
		set_tema('footerinc', load_js(array('datatables/jquery.dataTables.min', 'datatables/dataTables.foundation.min', 'app.min')));
		set_tema('titulo', 'Listagem de Formas de Pagamento');
		set_tema('conteudo', load_modulo('painel', 'forma_pagamento', $data));
		load_template();
	}

	public function editar(){
		$this->form_validation->set_rules('nome', 'NOME', 'required');
		if ($this->form_validation->run()==TRUE):
			$dados['nome'] = $this->input->post('nome', TRUE);
			$this->forma_pagamento->do_update($dados, array('id'=>$this->input->post('idforma_pagamento', TRUE)));
		endif;
		$idforma_pagamento = $this->uri->segment(4);
		if ($idforma_pagamento == NULL):
			set_msg('msgerro', 'Escolha uma Forma de Pagamento para alterar.', 'erro');
			redirect('painel/forma_pagamento/gerenciar');
		endif;
		$data = array(
			'tela'	=> 'editar',
			'query'	=> $this->forma_pagamento->get_byid($idforma_pagamento)->row()
		);
		set_tema('footerinc', load_js(array('app.min')));
		set_tema('titulo', 'Alteração de Forma de Pagamento');
		set_tema('conteudo', load_modulo('painel', 'forma_pagamento', $data));
		load_template();
	}
	
	//verificar apos criar a condição de pagamento
	public function excluir(){
		if (is_admin(TRUE)):
			$forma_pagamento_id = $this->uri->segment(4);
			//verificar se existem (parcelas de contas a pagar) vinculadas a forma de pagamento
			$query_contas_pagar_parcela = $this->contas_pagar_parcela->get_all()->result();
			foreach ($query_contas_pagar_parcela as $linha_contas_pagar_parcela):
				if ($forma_pagamento_id == $linha_contas_pagar_parcela->forma_pagamento_id):
					set_msg('msgerro', 'Existem parcelas (contas a pagar) vinculadas a esta Forma de Pagamento.', 'erro');
					redirect(base_url('painel/forma_pagamento/gerenciar'));
				endif;
			endforeach;
			//verificar se existem (parcelas de vendas) vinculadas a forma de pagamento
			$query_vendas_parcela = $this->vendas_parcela->get_all()->result();
			foreach ($query_vendas_parcela as $linha_vendas_parcela):
				if ($forma_pagamento_id == $linha_vendas_parcela->forma_pagamento_id):
					set_msg('msgerro', 'Existem parcelas (vendas) vinculadas a esta Forma de Pagamento.', 'erro');
					redirect(base_url('painel/forma_pagamento/gerenciar'));
				endif;
			endforeach;
			if ($forma_pagamento_id != NULL):
				$query = $this->forma_pagamento->get_byid($forma_pagamento_id);
				if ($query->num_rows()==1):
					$query = $query->row();
					$this->forma_pagamento->do_delete(array('id'=>$query->id), FALSE);
				endif;
			else:
				set_msg('msgerro', 'Escolha uma Forma de Pagamento para excluir', 'erro');
			endif;
		endif;
		redirect('painel/forma_pagamento/gerenciar');
	}
	
}

/* End of file forma_pagamento.php */
/* Location: ./application/controllers/forma_pagamento.php */